Since a three-axis numerically controlled milling machine was developed in the MIT in 1952, numerical control (NC) machining techniques have been remarkably developed and evolved into computer numerical control (CNC) machining techniques along with advancements in electronic engineering technologies including micro-processor technologies.
A CNC machining method that is most generally used in the field is a method of creating a part program from shape design information including drawings of a product through computer-aided design/computer-aided manufacturing (CAD/CAM) software and inputting the part program into a machine tool mounted with a CNC controller (hereinafter, referred to as a CNC machine tool), thereby performing machining.
In such a CNC machining method, an operator makes a process plan including a material feature, a removal volume, a removal sequence, tools to be used, machining conditions and the like based on hard-copy drawings or a product feature created by a CAD system. Based on the process plan, the operator creates a part program, which specifies operations of tools and a CNC machine tool, in a certain code format (G-code) through the CAD system or a manual operation. The CNC controller controls operations of the machine tool in response to an inputted G-code type part program so that an initial raw material can be machined into a product with a desired shape.
The G-code is a kind of machine language that expresses an operation of a machine tool as the position, speed and the like of a tool or a feed shaft, and is most generally used in the form of a part program. However, since the G-code supports only linear motions (G01) and circular motions (G02 and G03) of the feed shaft, high quality machining is difficult. Further, since the G-code does not have geometric information of a product, it is not suitable for five-axis machining or high speed machining.
Further, since the G-code does not have a variety of information related to a process, machining conditions optimized through actual machining cannot be fed back to CAD/CAM. Furthermore, since each machine tool manufacturer has a different G-code system, it is difficult to exchange data between different systems, and thus, additional post-processing is needed to exchange data.
Recently, a STEP-NC language based on a STEP (STandard for the Exchange of Product Model data) data model is spotlighted as a new programming language to solve the problems. The STEP-NC language defines process plan information capable of creating axial motions, such as feature information, machining sequences, machining methods and tool information, instead of directly specifying the axial motions. Therefore, high quality machining can be achieved, and machining information can be bi-directionally exchanged on a CAD-CAM-CNC process chain. Further, since the STEP-NC language is an international standard language neutral to a CNC controller, there is an advantage in that post-processing for compatibility is not required.
At present, the STEP-NC controller that analyzes a part program prepared with such a STEP-NC language and then directly creates axial motions is almost put to practical use. When the STEP-NC controller is newly applied to industrial fields in the future, a user will suffer from troubles of converting numerous programs, which have been previously prepared with the G-code, into STEP-NC programs. Thus, it is a high possibility that incompatibility between the G-code and the STEP-NC program will be an obstacle to expanding the use of the STEP-NC controller.